Here is a patch to get Xen running on a 32-way Unisys ES7000 system.
Please note that this patch alone is not sufficient to do this. You will
also need the clustered APIC patch that I will be submitting soon. But
since this patch was to a general area in Xen I decided to submit it
separately. I think this patch will be required to get Xen running on
any system that has more than 16 CPUs.
Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
#define OPT_CONSOLE_STR "com1,vga"
-#define NR_CPUS 16
+/*
+ * If you increase this value, please update NR_RESERVED_GDT_ENTRIES
+ * in include/public/arch-x86_xx.h
+ */
+#define NR_CPUS 32
/* Linkage for x86 */
#define __ALIGN .align 16,0x90
* in their ABI. These hard-coded values are always near the start of the GDT,
* so Xen places itself out of the way.
*
+ * NR_RESERVED_GDT_ENTRIES is (8 + 2 * NR_CPUS) Please update this value if
+ * you increase NR_CPUS or add another GDT entry to gdt_table in x86_32.S
+ *
* NB. The reserved range is inclusive (that is, both FIRST_RESERVED_GDT_ENTRY
* and LAST_RESERVED_GDT_ENTRY are reserved).
*/
-#define NR_RESERVED_GDT_ENTRIES 40
+#define NR_RESERVED_GDT_ENTRIES 72
#define FIRST_RESERVED_GDT_ENTRY 256
#define LAST_RESERVED_GDT_ENTRY \
(FIRST_RESERVED_GDT_ENTRY + NR_RESERVED_GDT_ENTRIES - 1)
* in their ABI. These hard-coded values are always near the start of the GDT,
* so Xen places itself out of the way.
*
+ * NR_RESERVED_GDT_ENTRIES is (8 + 4 * NR_CPUS) Please update this value if
+ * you increase NR_CPUS or add another GDT entry to gdt_table in boot/x86_64.S
+ *
* NB. The reserved range is inclusive (that is, both FIRST_RESERVED_GDT_ENTRY
* and LAST_RESERVED_GDT_ENTRY are reserved).
*/
-#define NR_RESERVED_GDT_ENTRIES 72
+#define NR_RESERVED_GDT_ENTRIES 136
#define FIRST_RESERVED_GDT_ENTRY 256
#define LAST_RESERVED_GDT_ENTRY \
(FIRST_RESERVED_GDT_ENTRY + NR_RESERVED_GDT_ENTRIES - 1)